package com.powergisol.gis.vo;

import java.util.List;

/**
 * Date: 2019/8/21  10:16
 * Description:
 */
public class B3DMJsonData {


    /**
     * asset : {"version":"0.0","gltfUpAxis":"Y"}
     * geometricError : 210.144812080945
     * root : {"boundingVolume":{"sphere":[-1633504.90699709,5343904.61712738,3066914.7033784,210.144812080945]},"refine":"REPLACE","geometricError":210.144812080945,"children":[{"boundingVolume":{"sphere":[-1633479.01958647,5343783.28453532,3066830.73571216,45.6935096090488]},"geometricError":45.6935096090488,"children":[{"boundingVolume":{"sphere":[-1633479.01958647,5343783.28453532,3066830.73571216,45.6935096090488]},"geometricError":8,"content":{"url":"Data/Model/Model.json"}}]}]}
     */

    private AssetBean asset;
    private double geometricError;
    private RootBean root;

    public AssetBean getAsset() {
        return asset;
    }

    public void setAsset(AssetBean asset) {
        this.asset = asset;
    }

    public double getGeometricError() {
        return geometricError;
    }

    public void setGeometricError(double geometricError) {
        this.geometricError = geometricError;
    }

    public RootBean getRoot() {
        return root;
    }

    public void setRoot(RootBean root) {
        this.root = root;
    }

    public static class AssetBean {
        /**
         * version : 0.0
         * gltfUpAxis : Y
         */

        private String version;
        private String gltfUpAxis;

        public String getVersion() {
            return version;
        }

        public void setVersion(String version) {
            this.version = version;
        }

        public String getGltfUpAxis() {
            return gltfUpAxis;
        }

        public void setGltfUpAxis(String gltfUpAxis) {
            this.gltfUpAxis = gltfUpAxis;
        }
    }

    public static class RootBean {
        /**
         * boundingVolume : {"sphere":[-1633504.90699709,5343904.61712738,3066914.7033784,210.144812080945]}
         * refine : REPLACE
         * geometricError : 210.144812080945
         * children : [{"boundingVolume":{"sphere":[-1633479.01958647,5343783.28453532,3066830.73571216,45.6935096090488]},"geometricError":45.6935096090488,"children":[{"boundingVolume":{"sphere":[-1633479.01958647,5343783.28453532,3066830.73571216,45.6935096090488]},"geometricError":8,"content":{"url":"Data/Model/Model.json"}}]}]
         */

        private BoundingVolumeBean boundingVolume;
        private String refine;
        private double geometricError;
        private List<ChildrenBeanX> children;

        public BoundingVolumeBean getBoundingVolume() {
            return boundingVolume;
        }

        public void setBoundingVolume(BoundingVolumeBean boundingVolume) {
            this.boundingVolume = boundingVolume;
        }

        public String getRefine() {
            return refine;
        }

        public void setRefine(String refine) {
            this.refine = refine;
        }

        public double getGeometricError() {
            return geometricError;
        }

        public void setGeometricError(double geometricError) {
            this.geometricError = geometricError;
        }

        public List<ChildrenBeanX> getChildren() {
            return children;
        }

        public void setChildren(List<ChildrenBeanX> children) {
            this.children = children;
        }

        public static class BoundingVolumeBean {
            private List<Double> sphere;

            private List<Double> box;

            public List<Double> getSphere() {
                return sphere;
            }

            public void setSphere(List<Double> sphere) {
                this.sphere = sphere;
            }

            public List<Double> getBox() {
                return box;
            }
            public void setBox(List<Double> box) {
                this.box = box;
            }
        }

        public static class ChildrenBeanX {
            /**
             * boundingVolume : {"sphere":[-1633479.01958647,5343783.28453532,3066830.73571216,45.6935096090488]}
             * geometricError : 45.6935096090488
             * children : [{"boundingVolume":{"sphere":[-1633479.01958647,5343783.28453532,3066830.73571216,45.6935096090488]},"geometricError":8,"content":{"url":"Data/Model/Model.json"}}]
             */

            private BoundingVolumeBeanX boundingVolume;
            private double geometricError;
            private List<ChildrenBean> children;

            public BoundingVolumeBeanX getBoundingVolume() {
                return boundingVolume;
            }

            public void setBoundingVolume(BoundingVolumeBeanX boundingVolume) {
                this.boundingVolume = boundingVolume;
            }

            public double getGeometricError() {
                return geometricError;
            }

            public void setGeometricError(double geometricError) {
                this.geometricError = geometricError;
            }

            public List<ChildrenBean> getChildren() {
                return children;
            }

            public void setChildren(List<ChildrenBean> children) {
                this.children = children;
            }

            public static class BoundingVolumeBeanX {
                private List<Double> sphere;

                public List<Double> getSphere() {
                    return sphere;
                }

                public void setSphere(List<Double> sphere) {
                    this.sphere = sphere;
                }
            }

            public static class ChildrenBean {
                /**
                 * boundingVolume : {"sphere":[-1633479.01958647,5343783.28453532,3066830.73571216,45.6935096090488]}
                 * geometricError : 8
                 * content : {"url":"Data/Model/Model.json"}
                 */

                private BoundingVolumeBeanXX boundingVolume;
                private int geometricError;
                private ContentBean content;

                public BoundingVolumeBeanXX getBoundingVolume() {
                    return boundingVolume;
                }

                public void setBoundingVolume(BoundingVolumeBeanXX boundingVolume) {
                    this.boundingVolume = boundingVolume;
                }

                public int getGeometricError() {
                    return geometricError;
                }

                public void setGeometricError(int geometricError) {
                    this.geometricError = geometricError;
                }

                public ContentBean getContent() {
                    return content;
                }

                public void setContent(ContentBean content) {
                    this.content = content;
                }

                public static class BoundingVolumeBeanXX {
                    private List<Double> sphere;

                    public List<Double> getSphere() {
                        return sphere;
                    }

                    public void setSphere(List<Double> sphere) {
                        this.sphere = sphere;
                    }
                }

                public static class ContentBean {
                    /**
                     * url : Data/Model/Model.json
                     */

                    private String url;

                    public String getUrl() {
                        return url;
                    }

                    public void setUrl(String url) {
                        this.url = url;
                    }
                }
            }
        }
    }
}
